package com.ymatou.query.seller.trading.api.parameter;

import java.math.BigDecimal;
import java.util.List;

//映射查询接口返回的json bean
public class JsonOrderBean {

    public Basic Basic;

    public Buyer Buyer;

    public Seller Seller;

    public Consignee Consignee;

    public List<Product> Products;

    public Payment Payment;

    public Transfer Transfer;
    

    /*
     * public Basic getBasic() { return Basic; } public void setBasic(Basic basic) { this.Basic = basic; } public Buyer
     * getBuyer() { return Buyer; } public void setBuyer(Buyer buyer) { this.Buyer = buyer; } public Seller getSeller()
     * { return Seller; } public void setSeller(Seller seller) { this.Seller = seller; } public Consignee getConsignee()
     * { return Consignee; } public void setConsignee(Consignee consignee) { this.Consignee = consignee; } public
     * List<Product> getProducts() { return Products; } public void setProducts(List<Product> products) { this.Products
     * = products; } public Payment getPayment() { return Payment; } public void setPayment(Payment payment) {
     * this.Payment = payment; } public Transfer getTransfer() { return Transfer; } public void setTransfer(Transfer
     * transfer) { this.Transfer = transfer; }
     */

    public static class Basic {

        // 订单号
        int ID;

        public int getID() {
            return ID;
        }

        public void setID(int orderID) {
            this.ID = orderID;
        }

        // 下单时间
        String CreatedTime;

        public String getCreatedTime() {
            CreatedTime+="000";
            return CreatedTime.replace("T", " ").substring(0, 19);
        }

        public void setCreatedTime(String addTime) {
            this.CreatedTime = addTime;
        }

        // 取消时间
        String CancelledTime;

        public String getCancelledTime() {
            if (CancelledTime!=null){
                CancelledTime+="000";
                return CancelledTime.replace("T", " ").substring(0, 19);
            }
            else  return null;
               
        }

        public void setCancelledTime(String cancelTime) {
            this.CancelledTime = cancelTime;
        }

        // 接单时间
        String AcceptedTime;

        public String getAcceptedTime() {
            if (AcceptedTime!=null){
                AcceptedTime+="000";
       
            return AcceptedTime.replace("T", " ").substring(0, 19);

            }
            else   return null;
            
        }

        public void setAcceptedTime(String acceptOrderTime) {
            this.AcceptedTime = acceptOrderTime;
        }

        // 订单来源
        String Source;

        public String getSource() {
            return Source;
        }

        public void setSource(String orderSource) {
            this.Source = orderSource;
        }

        // 订单类型
        int Type;

        public int getType() {
            return Type;
        }

        public void setType(int orderType) {
            this.Type = orderType;
        }

        // 订单状态
        int Status;

        public int getStatus() {
            return Status;
        }

        public void setStatus(int orderStatus) {
            this.Status = orderStatus;
        }

        // 订单总金额
        BigDecimal TotalPrice;

        public BigDecimal getTotalPrice() {
            return TotalPrice;
        }

        public void setTotalPrice(BigDecimal totalAmount) {
            this.TotalPrice = totalAmount;
        }
        //折扣类型
        BigDecimal Discount;
        public BigDecimal getDiscount() {
            return Discount;
        }

        public void setDiscount(BigDecimal discount) {
            this.Discount = discount;
        }
        
    }

    public static class Buyer {

        // 买家昵称
        String NickName;

        public String getNickName() {
            return NickName;
        }

        public void setNickName(String buyerNickName) {
            this.NickName = buyerNickName;
        }

        // 买家留言
        String Message;

        public String getMessage() {
            return Message;
        }

        public void setMessage(String userMessage) {
            this.Message = userMessage;
        }

        // 买家ID
        int ID;

        public int getID() {
            return ID;
        }

        public void setID(int orderID) {
            this.ID = orderID;
        }

        // 买家登录名
        String LoginId;

        public String getLoginId() {
            return LoginId;
        }

        public void setLoginId(String loginId) {
            this.LoginId = loginId;
        }

        // 买家邮箱
        String Email;

        public String getEmail() {
            return Email;
        }

        public void setEmail(String buyerLoginEmail) {
            this.Email = buyerLoginEmail;
        }

    }

    public static class Seller {
        // 商家备注
        String Comment;

        public String getComment() {
            return Comment;
        }

        public void setComment(String comment) {
            this.Comment = comment;
        }

        // 卖家ID
        int ID;

        public int getID() {
            return ID;
        }

        public void setID(int orderID) {
            this.ID = orderID;
        }

        // 卖家登录名
        String LoginId;

        public String getLoginId() {
            return LoginId;
        }

        public void setLoginId(String loginId) {
            this.LoginId = loginId;
        }

        // 卖家邮箱
        String Email;

        public String getEmail() {
            return Email;
        }

        public void setEmail(String sellerLoginEmail) {
            this.Email = sellerLoginEmail;
        }
    }

    public static class Consignee {
        // 收件人
        String Name;

        public String getName() {
            return Name;
        }

        public void setName(String name) {
            this.Name = name;
        }

        // 收件地址
        String Address;

        public String getAddress() {
            return Address;
        }

        public void setAddress(String address) {
            this.Address = address;
        }

        // 邮编
        String Postcode;

        public String getPostcode() {
            return Postcode;
        }

        public void Postcode(String postcode) {
            this.Postcode = postcode;
        }

        // 手机号
        String Phone;

        public String getPhone() {
            return Phone;
        }

        public void setPhone(String phone) {
            this.Phone = phone;
        }

        // 买家座机号码
        String Tel;

        public String getTel() {
            return Tel;
        }

        public void setTel(String tel) {
            this.Tel = tel;
        }
    }
    
    public static class RefundInfo{
    	BigDecimal RefundAmount;
    	BigDecimal RefundedAmountOfCash;
    	BigDecimal RefundedAmountOfGift;
    	BigDecimal RefundProductNum;
    	int RefundStatus;
    	int SalesRefundStatus;
    	BigDecimal SettlementAmountOfCoupon;
		public BigDecimal getRefundAmount() {
			return RefundAmount;
		}
		public void setRefundAmount(BigDecimal refundAmount) {
			RefundAmount = refundAmount;
		}
		public BigDecimal getRefundedAmountOfCash() {
			return RefundedAmountOfCash;
		}
		public void setRefundedAmountOfCash(BigDecimal refundedAmountOfCash) {
			RefundedAmountOfCash = refundedAmountOfCash;
		}
		public BigDecimal getRefundedAmountOfGift() {
			return RefundedAmountOfGift;
		}
		public void setRefundedAmountOfGift(BigDecimal refundedAmountOfGift) {
			RefundedAmountOfGift = refundedAmountOfGift;
		}
		public BigDecimal getRefundProductNum() {
			return RefundProductNum;
		}
		public void setRefundProductNum(BigDecimal refundProductNum) {
			RefundProductNum = refundProductNum;
		}
		public int getRefundStatus() {
			return RefundStatus;
		}
		public void setRefundStatus(int refundStatus) {
			RefundStatus = refundStatus;
		}
		public int getSalesRefundStatus() {
			return SalesRefundStatus;
		}
		public void setSalesRefundStatus(int salesRefundStatus) {
			SalesRefundStatus = salesRefundStatus;
		}
		public BigDecimal getSettlementAmountOfCoupon() {
			return SettlementAmountOfCoupon;
		}
		public void setSettlementAmountOfCoupon(BigDecimal settlementAmountOfCoupon) {
			SettlementAmountOfCoupon = settlementAmountOfCoupon;
		}
    	
    }
    
    public static class Product {
        // 商品名称
        String Name;

        public String getName() {
            return Name;
        }

        public void setName(String name) {
            this.Name = name;
        }
        
        Integer BrandId;
       
        public Integer getBrandId(){
        	return this.BrandId;
        }
        
        public void setBrandId(Integer brandId){
        	this.BrandId = brandId;
        }
        
        RefundInfo RefundInfo;
        
        public RefundInfo getRefundInfo() {
			return RefundInfo;
		}

		public void setRefundInfo(RefundInfo refundInfo) {
			RefundInfo = refundInfo;
		}


        // 码头商品一级分类
        int Categories[];

        public int[] getCategories() {
            return Categories;
        }

        public void setFirstCategory(int[] categories) {
            this.Categories = categories;
        }

        // sku
        String SKU;

        public String getSKU() {
            return SKU;
        }

        public void setSKU(String SKU) {
            this.SKU = SKU;
        }

        // 商品单价
        BigDecimal Price;

        public BigDecimal getPrice() {
            return Price;
        }

        public void setPrice(BigDecimal price) {
            this.Price = price;
        }

        // 商品数量
        int Count;

        public int getCount() {
            return Count;
        }

        public void setCount(int num) {
            this.Count = num;
        }
        
        // 商品总价
        BigDecimal TotalPrice;

        public BigDecimal getTotalPrice() {
            return TotalPrice;
        }

        public void setTotalPrice(BigDecimal price) {
            this.TotalPrice = price;
        }

        // 商品规格
        String PropertyInfo;

        public String getPropertyInfo() {
            return PropertyInfo;
        }

        public void setPropertyInfo(String propertyInfo) {
            this.PropertyInfo = propertyInfo;
        }

        // 保税区
        int BondedArea;

        public int getBondedArea() {
            return BondedArea;
        }

        public void setBondedArea(int bondedArea) {
            this.BondedArea = bondedArea;
        }

        // 物流类型
        int Logistics;

        public int getLogistics() {
            return Logistics;
        }

        public void Logistics(int logistics) {
            this.Logistics = logistics;
        }

        // 规格ID
        String CatalogId;

        public String getCatalogId() {
            return CatalogId;
        }

        public void setCatalogId(String catalogId) {
            this.CatalogId = catalogId;
        }

        // 商品编码
        String ProductId;

        public String getProductId() {
            return ProductId;
        }

        public void setProductId(String productId) {
            this.ProductId = productId;
        }

        // 商品类型：0现货，1代购，2FBX
        int CatalogType;

        public int getCatalogType() {
            return CatalogType;
        }

        public void setCatalogType(int catalogType) {
            this.CatalogType = catalogType;
        }

        // 套餐ID
        String PackageNo;

        public String getPackageNo() {
            return PackageNo;
        }

        public void setPackageNo(String packageNo) {
            this.PackageNo = packageNo;
        }

        // 活动ID
        int ActivityId;

        public int getActivityID() {
            return ActivityId;
        }

        public void setActivityID(int activityID) {
            this.ActivityId = activityID;
        }

    }

    public static class Summary{
    	int OrderId;
    	BigDecimal PaidCash;
    	BigDecimal PaidGift;
    	BigDecimal PaidFreeCard;
    	BigDecimal PaidYmtCoupon;
    	BigDecimal PaidSellerCoupon;
    	BigDecimal PostPaidCash;
    	BigDecimal PostPaidGift;
    	BigDecimal TotalProductPrice;
    	BigDecimal FirstPayProductPrice;
    	BigDecimal Freight;
    	BigDecimal OrderDiscount;
    	BigDecimal PostPayDiscount;
    	Integer TotalRefundedCash;
    	Integer TotalRefundedGift;
    	Integer TotalRefundedYmtCoupon;
    	BigDecimal TotalActivityPrice;
    	Integer TotalCanceledCash;
    	Integer TotalCanceledYmtCoupon;
		public int getOrderId() {
			return OrderId;
		}
		public void setOrderId(int orderId) {
			OrderId = orderId;
		}
		public BigDecimal getPaidCash() {
			return PaidCash;
		}
		public void setPaidCash(BigDecimal paidCash) {
			PaidCash = paidCash;
		}
		public BigDecimal getPaidGift() {
			return PaidGift;
		}
		public void setPaidGift(BigDecimal paidGift) {
			PaidGift = paidGift;
		}
		public BigDecimal getPaidFreeCard() {
			return PaidFreeCard;
		}
		public void setPaidFreeCard(BigDecimal paidFreeCard) {
			PaidFreeCard = paidFreeCard;
		}
		public BigDecimal getPaidYmtCoupon() {
			return PaidYmtCoupon;
		}
		public void setPaidYmtCoupon(BigDecimal paidYmtCoupon) {
			PaidYmtCoupon = paidYmtCoupon;
		}
		public BigDecimal getPaidSellerCoupon() {
			return PaidSellerCoupon;
		}
		public void setPaidSellerCoupon(BigDecimal paidSellerCoupon) {
			PaidSellerCoupon = paidSellerCoupon;
		}
		public BigDecimal getPostPaidCash() {
			return PostPaidCash;
		}
		public void setPostPaidCash(BigDecimal postPaidCash) {
			PostPaidCash = postPaidCash;
		}
		public BigDecimal getPostPaidGift() {
			return PostPaidGift;
		}
		public void setPostPaidGift(BigDecimal postPaidGift) {
			PostPaidGift = postPaidGift;
		}
		public BigDecimal getTotalProductPrice() {
			return TotalProductPrice;
		}
		public void setTotalProductPrice(BigDecimal totalProductPrice) {
			TotalProductPrice = totalProductPrice;
		}
		public BigDecimal getFirstPayProductPrice() {
			return FirstPayProductPrice;
		}
		public void setFirstPayProductPrice(BigDecimal firstPayProductPrice) {
			FirstPayProductPrice = firstPayProductPrice;
		}
		public BigDecimal getFreight() {
			return Freight;
		}
		public void setFreight(BigDecimal freight) {
			Freight = freight;
		}
		public BigDecimal getOrderDiscount() {
			return OrderDiscount;
		}
		public void setOrderDiscount(BigDecimal orderDiscount) {
			OrderDiscount = orderDiscount;
		}
		public BigDecimal getPostPayDiscount() {
			return PostPayDiscount;
		}
		public void setPostPayDiscount(BigDecimal postPayDiscount) {
			PostPayDiscount = postPayDiscount;
		}
		public Integer getTotalRefundedCash() {
			return TotalRefundedCash;
		}
		public void setTotalRefundedCash(Integer totalRefundedCash) {
			TotalRefundedCash = totalRefundedCash;
		}
		public Integer getTotalRefundedGift() {
			return TotalRefundedGift;
		}
		public void setTotalRefundedGift(Integer totalRefundedGift) {
			TotalRefundedGift = totalRefundedGift;
		}
		public Integer getTotalRefundedYmtCoupon() {
			return TotalRefundedYmtCoupon;
		}
		public void setTotalRefundedYmtCoupon(Integer totalRefundedYmtCoupon) {
			TotalRefundedYmtCoupon = totalRefundedYmtCoupon;
		}
		public BigDecimal getTotalActivityPrice() {
			return TotalActivityPrice;
		}
		public void setTotalActivityPrice(BigDecimal totalActivityPrice) {
			TotalActivityPrice = totalActivityPrice;
		}
		public Integer getTotalCanceledCash() {
			return TotalCanceledCash;
		}
		public void setTotalCanceledCash(Integer totalCanceledCash) {
			TotalCanceledCash = totalCanceledCash;
		}
		public Integer getTotalCanceledYmtCoupon() {
			return TotalCanceledYmtCoupon;
		}
		public void setTotalCanceledYmtCoupon(Integer totalCanceledYmtCoupon) {
			TotalCanceledYmtCoupon = totalCanceledYmtCoupon;
		}
    	
    }
    
    public static class Payment {

    	Summary Summary;
    	
        public Summary getSummary() {
			return Summary;
		}

		public void setSummary(Summary Summary) {
			this.Summary = Summary;
		}

		// 实际支付金额
        BigDecimal ActualPaid;

        public BigDecimal getActualPaid() {
            return ActualPaid;
        }

        public void setActualPaid(BigDecimal province) {
            this.ActualPaid = province;
        }

        public List<Detail> Details;

        public List<Detail> getDetails() {
            return Details;
        }

        public void setDetails(List<Detail> details) {
            Details = details;
        }

        public static class Detail {
            // Type
            int Type;

            public int getType() {
                return Type;
            }

            public void setType(int type) {
                this.Type = type;
            }

            // 付款时间
            String PaidTime;

            public String getPaidTime() {
                if (PaidTime!=null){
                PaidTime+="000";
                return PaidTime.replace("T", " ").substring(0, 19);
                }
                else return null;
            }

            public void setPaidTime(String paidTime) {
                this.PaidTime = paidTime;
            }

            // 交易号
            int InternalTradingNo;

            public int getInternalTradingNo() {
                return InternalTradingNo;
            }

            public void setInternalTradingNo(int internalTradingNo) {
                this.InternalTradingNo = internalTradingNo;
            }

            // 交易号
            String ExternalTradingNo;

            public String getExternalTradingNo() {
                return ExternalTradingNo;
            }

            public void setExternalTradingNo(String externalTradingNo) {
                this.ExternalTradingNo = externalTradingNo;
            }

        }

    }

    public static class Transfer {

        // 发货时间
        String DeliveredTime;

        public String getDeliveredTime() {
            if (DeliveredTime!=null){
                DeliveredTime+="000";
                return DeliveredTime.replace("T", " ").substring(0, 19);
            }
            else return null;
        }

        public void setDeliveredTime(String deliveredTime) {
            this.DeliveredTime = deliveredTime;
        }

        // 发货时间
        String ReceiptConfirmedTime;

        public String getReceiptConfirmedTime() {
            if (ReceiptConfirmedTime!=null){
            ReceiptConfirmedTime+="000";
            return ReceiptConfirmedTime.replace("T", " ").substring(0, 19);
            }
            else return null;
        }

        public void setReceiptConfirmedTime(String receiptConfirmedTime) {
            this.ReceiptConfirmedTime = receiptConfirmedTime;
        }
    }

}
